package spring2.aop1;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

/**
 * 把这个类声明为一个切面：需要把类放入到IOC容器中，再声明一个切面
 *
 * @author jiangbang
 * @date 2016/11/14
 */
@Aspect
@Component
public class LoggingAspect {

    //声明该方法是一个前置通知，在目标方法执行前执行
    @Before("execution(public int spring2.aop1.AopOneImpl.add(int, int))")
    public void beforeMothod(){
        System.out.println("打印日志中。。。");
    }

    @Before("execution(public int spring2.aop1.AopOneImpl.*(..))")
    public void beforeMothod2(){
        System.out.println("打印日志中2。。。");
    }

    @Before("execution(* spring2.aop1.*.*(..))")
    public void beforeMothod3(){
        System.out.println("打印日志中3。。。");
    }
}
